
//打家劫舍
int rob(vector<int>& nums) {
        // write code here
        vector<int> dp(nums.size());
        //dp[i]的含义:在nums[0...i]的范围上任意挑选,满足不相邻的条件下的最大累加和
        dp[0] = nums[0];
        dp[1] = max(nums[0],nums[1]);
        for(int i = 2;i<nums.size();i++)
        {
            dp[i] =  max(dp[i-2] + nums[i],dp[i-1]);
        }
        return dp[nums.size()-1];
    }